home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 43 / Amiga Format CD43 (1999)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1999-09].iso / -serious- / comms / other / ascan / sources / errors.c < prev    next >
C/C++ Source or Header  |  1999-06-14  |  2KB  |  83 lines

  1.  
  2. #include "ascan.h"
  3. #include <bsdsocket/socketbasetags.h>
  4.  
  5. /***************************************************************************/
  6.  
  7. /*print errors to stderr*/
  8.  
  9. void error(int code,char *prg,char *string)
  10. {
  11.     STRPTR fmt;
  12.  
  13.     switch (code)
  14.     {
  15.         case SCAN_ERROR_NOBSDSOCKET:
  16.             fmt = "%s: no TCP/IP stack running.\n";
  17.             break;
  18.  
  19.         case SCAN_ERROR_NOSOCKET:
  20.             fmt = "%s: can't create socket.\n";
  21.             break;
  22.  
  23.         case SCAN_ERROR_TIMEOUT:
  24.             fmt = "%s: general timeout...\n";
  25.             break;
  26.  
  27.         case SCAN_ERROR_NOMEM:
  28.             fmt = "%s: no memory avaible.\n",prg;
  29.             break;
  30.  
  31.         case SCAN_ERROR_TARGETNOTFOUND:
  32.             fmt = "%s: unknown host '%s'.\n";
  33.             break;
  34.  
  35.         case SCAN_ERROR_SENDING: case SCAN_ERROR_BUFFER: case SCAN_ERROR_SELECT:
  36.             fprintf(stderr,"\n%s: socket error",prg);
  37.             if (SocketBase)
  38.             {
  39.                 struct TagItem     tags[2] = {SBTM_GETREF(SBTC_ERRNOSTRPTR),0,TAG_DONE};
  40.                 STRPTR            s;
  41.  
  42.                 s = string;
  43.                 tags[0].ti_Data = (ULONG)&s;
  44.  
  45.                 if (!SocketBaseTagList(tags)) fprintf(stderr," (%s)",s);
  46.             }
  47.             fprintf(stderr,".\n",NULL);
  48.             fmt = NULL;
  49.             break;
  50.  
  51.         case SCAN_ERROR_BREAK:
  52.             fmt = "%s: user break...\n";
  53.             break;
  54.  
  55.         default:
  56.             fmt = NULL;
  57.             break;
  58.     }
  59.  
  60.     if (fmt) fprintf(stderr,fmt,prg,string);
  61. }
  62.  
  63. /***************************************************************************/
  64.  
  65. /*print globals to stderr*/
  66.  
  67. void printGlobal(struct global *g,STRPTR target,u_long targetIP)
  68. {
  69.     fprintf(stderr,"Target: %s",target);
  70.     if (inet_addr(target)==INADDR_NONE) fprintf(stderr," [%s]",Inet_NtoA(targetIP));
  71.     fprintf(stderr,"\n");
  72.     fprintf(stderr,"From:   %ld\n",g->from);
  73.     fprintf(stderr,"To:     %ld\n",g->to);
  74.     fprintf(stderr,"Childs: %ld\n",(STRPTR)g->nchild);
  75.     fprintf(stderr,"PPC:    %ld\n",g->ppt);
  76.     fprintf(stderr,"GTOut:  ");
  77.     if (g->gt) fprintf(stderr,"%ld\n",(STRPTR)g->gt);
  78.     else fprintf(stderr,"[none]\n",NULL);
  79.     fprintf(stderr,"CTOut:  ");
  80. }
  81.  
  82. /***************************************************************************/
  83.